# 作者：石吴震
# 2025年01月01日19时18分06秒
# 474160957@qq.com

import os

def use_rename():
    os.rename('file1', 'file5')  # 重命名文件
    # os.rename('C:\\Users\\86132\\PycharmProjects\\PythonCode\\day7-12-31\\file5 '
    #           ,'C:\\Users\\86132\\PycharmProjects\\PythonCode\\day7-12-31\\file1') #绝对路径用\\
    # os.rename('C:/Users/86132/PycharmProjects/PythonCode/day7-12-31/file1 ',
    #           'C:/Users/86132/PycharmProjects/PythonCode/day7-12-31/file5') # 或用/
    # os.rename('.\\dir1\\file6', '.\\dir1\\file7') #相对路径前加.的话，再.后加\\或/
    # os.rename('dir1\\file7', 'dir1\\file6') #不加.也行

def use_dir_func():
    file_list = os.listdir('.')  # 列出"当前目录"下所有文件和目录
    print(file_list)
    # os.mkdir('dir2')  # 创建目录
    # os.rkdir('dir1')  # 删除目录
    print(os.getcwd())  # 打印当前目录路径
    os.chdir('dir2')  # 切换工作目录
    file=open('file1','w',encoding='utf-8')
    file.close()

def scan_dir(current_path,width):
    file_list = os.listdir(current_path)
    for file in file_list:
        print(' '* width ,file) # 打印文件名
        new_path = current_path + '/' + file # 把当前路径和文件名拼接成新的路径
        if os.path.isdir(new_path): # 如果是目录，递归调用
            scan_dir(new_path,width+4)

def use_stat(file_path):  #就是这么写的
    file_info = os.stat(file_path)  # 获取文件状态信息
    print('size{},uid{},mode{:x},mtime{}'.format(file_info.st_size,file_info.st_uid,
                                                 file_info.st_mode,file_info.st_mtime))
    from time import strftime
    from time import gmtime
    gm_time=gmtime(file_info.st_mtime)
    # 把秒数转为字符串时间
    print(strftime("%Y-%m-%d %H:%M:%S", gmtime(file_info.st_mtime)))

if __name__ == '__main__':
    # use_rename()
    # use_dir_func()
    # scan_dir('.',0)
    use_stat('.') # 打印当前目录下所有文件的大小、uid、mode、mtime（创建时间）